######################################## CONSTRUCTION DES MESSAGES AVANT ENVOI #


## TYPE "MESSAGE" ##############################################################

################################################################################
# Procedure construisant le message
################################################################################
proc proc_construireMessage { param_noeudId param_salonId param_corps } {
	return "0|$param_salonId|$param_noeudId|$param_corps"
}



## TYPE "PING" ##############################################################

################################################################################
# Procedure envoyant un ping
################################################################################
proc proc_construirePing { param_noeudId  param_dateEnvoi } {
	return "20|$param_noeudId|$param_dateEnvoi"
}

################################################################################
# Procedure envoyant la reponse a un ping
################################################################################
proc proc_construireReponsePing { param_noeudId param_destinataireId param_dateEnvoi } {
	return "21|$param_noeudId|$param_destinataireId|$param_dateEnvoi"
}

## TYPE "PING SALONS" ##########################################################

################################################################################
# Procedure envoyant un ping salons (envoi: je suis le createur des salons +
# la liste des connectes)
################################################################################
proc proc_construireSalonsPing { param_noeudId param_noeudCentre param_distance } {
	global var_listeSalons
	global var_listeVoisins
	
	set var_listeSalonsPing ""
	set var_listeVoisinsPing ""

	foreach var_idSalon [array names var_listeSalons -regexp {^[^,]*$}]  {
		if { $var_listeSalons($var_idSalon,idCentre) == $param_noeudId } {
			if { $var_listeSalonsPing != "" } {
				set var_listeSalonsPing ":$var_listeSalonsPing"
			}
			set var_listeSalonsPing "$var_idSalon,$var_listeSalons($var_idSalon,nom)$var_listeSalonsPing"
		}
	}
	
	foreach var_idVoisin [array names var_listeVoisins -regexp {^[^,]*$}]  {
		if { $var_listeVoisinsPing != "" } {
			set var_listeVoisinsPing ":$var_listeVoisinsPing"
		}
		set var_listeVoisinsPing "$var_idVoisin$var_listeVoisinsPing"
	}
	
	
	puts stderr "10|$param_noeudId|$param_noeudCentre|$param_distance|$var_listeSalonsPing|$var_listeVoisinsPing"
	return "10|$param_noeudId|$param_noeudCentre|$param_distance|$var_listeSalonsPing|$var_listeVoisinsPing"
}
